<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
                // spread  扩展运算符
        // 扩展运算符（spread）是三个点（...）。
        // 它好比 rest 参数的逆运算，
        // 作用：==> 将一个数组转为用逗号分隔的参数序列。

        // 注意：它不会改变原数组

        const arr = [1, 2, 3, 4, 5]
        console.log(...arr)  // 1, 2, 3, 4, 5  浏览器上没有显示逗号，假装有

        // 主要应用
        // 1. 求一个数组的最大最小值  
        const arr2 = [11, 1, 6, 9, 77]
        // Math.max()  它本身接收的是参数列表
        // console.log(Math.max(11, 1, 6, 9, 77))

        // ...arr2 ===> 11, 1, 6, 9, 77
        console.log(Math.max(...arr2))
        console.log(Math.min(...arr2))

        // 4. 扩展运算符还可以展开字符串
        // [...str] ==> 将字符串展开为数组
        const str = 'hello world'
        const a8 = [...str]
        console.log(a8)
        // 反转字符串
        const res = str.split('').reverse().join('')
        
        // ==> 扩展运算符的方式
        const resStr = [...str].reverse().join('')  // ==> JS高级学的，高级一点
        console.log(resStr)
    </script>
</body>
</html>